<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of utilidades
 *
 * @author jose
 */
class Utilidades {
    protected $ci;

    function __construct() {
        $this->ci = & get_instance();
    }
    function listaMaterias($ide_pers){
        $this->ci->load->model('docente_model');
        $lista = $this->ci->docente_model->cargarMaterias($ide_pers);
         
        $aux=array();
        foreach ($lista as $item){
            $seccion = $this->secciones($item["seccion"]);
            $nombre = $this->numeroCiclo($item["nombre_cic"]).'.'.$item["cod_car"].'.'.$seccion["cod"].' '.$this->trozarPalabras(utf8_encode($item["nombre_mat"])).' '.$item["paralelo"];
            
            $aux[]=array("link_name"=>$nombre,"periodo"=>$item["ide_lec"],"materia"=>$item["ide_mat"],"seccion"=>$item["seccion"],"paralelo"=>$item["paralelo"]);
            //echo $nombre;
            //echo '</br>';
        }
        return $aux;
    }
    function trozarPalabras($palabra){
        
        $data = explode(" ", $palabra);
        $aux = '';
        foreach ($data as $item){
            if(strlen($item)>=3){
                $a = substr($item, 0, 3);                
                $aux.=$a.'.';                
            }else if(strlen($item)<=2){
                //$a = substr($item, 0, 3);                
                if($item!='DE'&&$item!='LA'&&$item!='LO')
                $aux.=$item.'.';                
            }
        }
        return $aux;
    }
    function numeroCiclo($palabra){
        if($palabra=='PRIMER SEMESTRE')
            return '1ro';
        if($palabra=='SEGUNDO SEMESTRE')
            return '2do';
        if($palabra=='TERCER SEMESTRE')
            return '3ro';
        if($palabra=='CUARTO SEMESTRE')
            return '4to';
        if($palabra=='QUINTO SEMESTRE')
            return '5to';
        if($palabra=='SEXTO SEMESTRE')
            return '6to';
    }
    function secciones($num){
        if($num==1)
            return array('cod'=>"DIU","nombre"=>"DIURNO");
        if($num==2)
            return array('cod'=>"NOC","nombre"=>"NOCTURNO");
        if($num==3)
            return array('cod'=>"FIN","nombre"=>'FINES DE SEMANA');
    }
    function verificarFecha(){
        
    }
    public function encabezadosReportesNotas($pdf, $periodo){
        $pdf->ezSetMargins(30, 30, 50, 50);

        $pdf->selectFont('fonts/Times-Roman.afm');

        $pdf->ezText('');
        $pdf->ezText('');
        $pdf->ezText('');
        $pdf->ezText(utf8_decode('INSTITUTO TECNOLÓGICO SUPERIOR SUDAMERICANO'), 14, array('justification' => 'center'));
        $pdf->ezText(utf8_decode('CUADRO DE CALIFICACIONES'), 14, array('justification' => 'center'));
        $pdf->ezText(utf8_decode('PERÍODO ACADÉMICO '.$periodo[0]["descripcion_lec"]), 11, array('justification' => 'center'));
        return $pdf;
    }
    public function fechaEspanolActual(){
        $dias = array("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sábado");
                        $meses = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");

        return 'Loja, '.$dias[date('w')] . " " . date('d') . " de " . $meses[date('n') - 1] . " del " . date('Y');
    }
    public function numeroLetras($num) {
        $xarray = array(
        0 => 'CERO'
        , 1 => 'UN',
            2=>'DOS', 
            3=>'TRES', 
            4=>'CUATRO', 
            5=>'CINCO', 
            6=>'SEIS', 
            7=>'SIETE', 
            8=>'OCHO', 
            9=>'NUEVE', 
            10=>'DIEZ', 
            11=>'ONCE', 
            12=>'DOCE', 
            13=>'TRECE', 
            14=>'CATORCE', 
            15=>'QUINCE', 
            16=>'DIECISEIS', 
            17=>'DIECISIETE', 
            18=>'DIECIOCHO', 
            19=>'DIECINUEVE',
            20=>'VEINTE');
        return $xarray[$num];
    }
    public function activar_boton($fecha1,$fecha2){
                $fecha_now=strtotime(date("Y-m-d"), 0);
                $fecha_bim1=strtotime($fecha1,0);
                $limi_bim1=strtotime($fecha2,0);
                //echo $fecha1." ".$fecha2." ".date("Y-m-d");
                
                if($fecha_now>=$fecha_bim1 &&$fecha_now <=$limi_bim1){
                    return "";
                }else{
                    return "disabled";
                }
        
    }
    public function verificarEstadoMatricula($ide_cur) {
        $this->ci->load->model('cursa_model');
        $this->ci->load->model('matriculas_model');
        $this->ci->load->model('docente_model');
        $cursa = $this->ci->cursa_model->getCursa($ide_cur);
        $matricula = $this->ci->matriculas_model->getMatriculas($cursa["matriculas_id_matr"]);
        $arrastre = $this->ci->docente_model->obtenerArrastre($ide_cur);
        $verificarRetirado = ($matricula["estado_matr"]==5)?"R":"";
        $verificarArrastre = (count($arrastre)>0)?"A":"";
        return array("A"=>$verificarArrastre,"R"=>$verificarRetirado);
    }
    public function crearListaEstudiantes($listaAlumnos, $listaArrastre) {
        $lista = array();
        foreach ($listaAlumnos as $item) {            
            if($this->verificarExisteEstudianteLista($item["ide_cur"], $lista)==false){
                $lista[]=$item;
            }
        }
        foreach ($listaArrastre as $item) {            
            if($this->verificarExisteEstudianteLista($item["ide_cur"], $lista)==false){
                $lista[]=$item;
            }
        }
        $lista = $this->orderMultiDimensionalArray($lista, "apellido_pers");
        //echo count($lista).' maro';
        return $lista;
    }
    public function verificarExisteEstudianteLista($ide_cur, $lista) {
        $band=false;
        foreach ($lista as $item) {
            if($item["ide_cur"]==$ide_cur){
                $band = true;
            }
        }
        return $band;
    }
    /**
     * 
     * @param type $toOrderArray  Arreglo
     * @param type $field por index del arreglo
     * @param type $inverse Si se desea invetir
     * @return type arreglo ordenado
     */
    function orderMultiDimensionalArray($toOrderArray, $field, $inverse = false) {
        $position = array();
        $newRow = array();
        foreach ($toOrderArray as $key => $row) {
            $position[$key] = $row[$field];
            $newRow[$key] = $row;
        }
        if ($inverse) {
            arsort($position);
        } else {
            asort($position);
        }
        $returnArray = array();
        foreach ($position as $key => $pos) {
            $returnArray[] = $newRow[$key];
        }
        return $returnArray;
    }
}

?>
